// import com.alibaba.druid.sql.ast.SQLHint;
// import com.alibaba.druid.sql.ast.statement.SQLTableSourceImpl;
// import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlASTVisitor;
// import com.alibaba.druid.sql.visitor.SQLASTVisitor;
#pragma once
#include "../../../../ast/statement/SQLTableSourceImpl.h"

// just for alibaba mysql
class MySqlUpdateTableSource : virtual public SQLTableSourceImpl
{
public:
  MySqlUpdateStatement_ptr update;

  MySqlUpdateTableSource(MySqlUpdateStatement_ptr update);
  SHAREDOBJECT(MySqlUpdateTableSource);

  // @Override
  void accept0(SQLASTVisitor_ptr visitor);

  void accept0(MySqlASTVisitor_ptr visitor);

  MySqlUpdateStatement_ptr getUpdate();

  void setUpdate(MySqlUpdateStatement_ptr update);

  // @Override
  SQLObject_ptr clone();
};
